Distributed music collaboration

ABSTRACT

A system for enabling collaboration between musicians includes a server configured to be connected to remote clients via a wide area network. The server is configured to receive session tracks associated with a session, each of the session tracks containing data representative of music created by a music source during the session, and to store those session tracks in a session database that includes a plurality of session data units. Each of the session data units includes session tracks for a session and session metadata associated with the session tracks. The server is further configured to receive instructions from a user to modify the session metadata, and to also provide data representative of the session tracks as modified by the session metadata.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application No. 61/678,401 filed on Aug. 1, 2012, the contents of which are hereby incorporated by reference in their entirety.

FIELD OF DISCLOSURE

This disclosure relates to music processing software, and in particular to software for collaboration among musicians.

BACKGROUND

Data representative of music has long been editable on a computer. Music editors for this function are capable of starting with raw files and processing them to create various mixes. However, contemporary systems for carrying out this function do not facilitate collaboration among musicians.

SUMMARY

In one aspect, the invention features a system for enabling collaboration between musicians. Such a system includes a server configured to be connected to remote clients via a wide area network. The server is configured to receive session tracks associated with a session, each of the session tracks containing data representative of music created by a music source during the session, and to store those session tracks in a session database that includes a plurality of session data units. Each of the session data units includes session tracks for a session and session metadata associated with the session tracks. The server is further configured to receive instructions from a user to modify the session metadata, and to also provide data representative of the session tracks as modified by the session metadata.

Various kinds of metadata are contemplated to be within the scope of the invention. In some embodiments, the session metadata comprises a session transform, whereas in others, the session metadata comprises annotation data.

Some embodiments include features for permitting collaboration. For example, in some embodiments, the server is further configured to enable a first user to provide access to selected session tracks and the session metadata to a second user. In others, the server is further configured to enable a first user to permit a second user to annotate session tracks. And in yet others, the server is further configured to enable a first user to permit a second user to listen to selected session tracks as modified by a selected session transform.

Components of the invention may span multiple political jurisdictions. In some embodiments, the server is outside United States territory and is controlled by a user within United States territory for the benefit of the user.

In another aspect the invention features an apparatus for enabling a user to mix tracks representative of music. Such an apparatus includes a data processing system configured to receive session tracks associated with a session, each of the session tracks containing data representative of music created by a music source during the session, to store the session tracks in a session database, the session database including a plurality of session data units, each of the session data units including session tracks for a session and session metadata associated with the session tracks, wherein the server is further configured to receive instructions from a user to modify the session metadata, and wherein the server is configured to provide data representative of the session tracks as modified by the session metadata.

In some embodiments, the session metadata includes a session transform.

In othe embodiments, the session metadata includes annotation data.

These and other features of the invention will be apparent from the following detailed description and the accompanying figures, in which:

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a session hub with its output session vector;

FIG. 2 shows a collaboration system to which the session hub of FIG. 1 is connected;

FIG. 3 shows a time-line view of a user-interface for the collaboration system of FIG. 2;

FIG. 4 shows an annotation view of a user-interface for the collaboration system of FIG. 2;

FIG. 5 shows a mixing view of a user-interface for the collaboration system of FIG. 2;

FIG. 6 shows an editing view of a user-interface for the collaboration system of FIG. 2; and

FIG. 7 shows a music view of a user-interface for the collaboration system of FIG. 2.

DETAILED DESCRIPTION

Groups of musicians often come together to rehearse at a “session.” A session hub 10, shown in FIG. 1 and described in U.S. Patent Publ. 2009/0282967, the contents of which are herein incorporated by reference, accepts input from a musician 12 and generates one or more tracks 14 corresponding to what that musician played during a session. Each of these tracks 14 is referred to herein as a “session track.” In a typical session, there will be multiple session tracks 14.

The set of session tracks 14 concurrently obtained during a particular session defines a “session vector 16.” The number of elements in the session vector 16 is greater than or equal to the number of musicians. Each session vector 16 contains data representative of music played by one or more of of the musicians.

Referring now to FIG. 2, a distributed music collaboration system 18 features a server 20 remotely connected to the session hub 10 via a wide area network 22. The server 20 receives session vectors 16 from the session hub 10 and creates session data 24 that includes, in addition to the session vectors 16, session metadata 26. The session metadata 26 includes server-generated metadata 28 and user-generated metadata 30.

Server-generated metadata 28 includes the date and time of the session, and if available, the identities of the musicians participating in the session. User-generated metadata 30 is provided by one or more users 32 accessing the collaboration system 18 using one of a corresponding plurality of clients 34. Such a user 32 generally maintains an account with the collaboration system 18. Through such an account, the user 32 can access session data 24 and create, alter, inspect or otherwise manipulate user-generated metadata 30.

One way for a user 32 to create user-generated metadata 30 is to perform custom editing or mixing of the session vectors 16. For example, a user 32 may want to alter relative volumes of session tracks 14, either in their entirety or within selected sections. Or the user 32 may want to alter the underlying time base either entirely or in sections, thus manipulating the tempo of the music. Or a user 32 may wish to cut and paste selected portions of session tracks 14.

Rather than alter the underlying session vector 16, the user's various editing and mixing commands are saved as a session transform 38. A filtering streamer 40 accepts a session transform 38 and a session vector 16 as inputs and outputs audio that can be listened to at a user's client 34.

A user 32 who wishes to hear the music as it was recorded during the session causes the filtering streamer 40 to accept that session vector 16 as a first input, and uses an identity session transform 38 as a second input. This results in the original music being streamed to the client 34. On the other hand, a user 32 who wishes to hear the result of his own editing and mixing or that carried out by another, specifies the session vector 16 as a first input and a particular session transform 38 as the second input. This causes the filtering streamer 40 to stream, to the client 34, the music from that session as modified by the selected session transform 38.

A user 32 can create several different session transforms 38 corresponding to different mixes. In doing so, the session vector 16 serves as a common foundation for all the different mixes. In addition, a user 32 can authorize other users to listen to the session vector 16 as modified by any session transform 38 by, for example, sending a link either to the session transform 38 or to a filtering streamer 40 having the appropriate session vector 16 and session transform 38 as inputs.

In addition to session transforms 38, session metadata 26 can also include annotations 42 linked to specified time points or time intervals in one or more session tracks 14 of a session vector 16. A user 32 on one client 34 can thus make comments pertaining to a particular session track 14 or portion thereof. These comments are saved as user-generated metadata 30 available to a user's collaborator. The collaborator may then add his own comments either in response to the user's comments or pertaining to another session track 14 or portion thereof.

The collaboration system 18 described herein thus permits a musician to collaborate with other musicians in connection with a session and to do so without creating multiple edited copies of the session data 24.

A representative user-interface encountered by a user 32 who accesses a server hosting the collaborative music system 18 is shown in FIG. 3. The user-interface includes a view button 40 that allows the user 32 to switch between different views. These views include a time-line view 42, shown in FIG. 3, an annotation view 44, shown in FIG. 4, a mixing view 46, shown in FIG. 5, an editing view 48, shown in FIG. 6, and a human-readable music view 50, shown in FIG. 7.

The time-line view 42, shown in FIG. 3, features a scrollable time-line 52 having nodes 54A-54B corresponding to each session that the user 32 is authorized to access. These nodes 54A, 54B are ordered by the time at which the session occurred. Each node 54A-54B is associated with a metadata field 56A, 56B showing the metadata 24 associated with that session. A metadata field 56A in some embodiments appears when a user 32 clicks on or hovers over its corresponding node 54A. The user's identity is identified in a user-ID field 58 at the top of the time-line view 42. A top row 60 of the time-line view 42, as well as the other views, features three buttons that reveal corresponding metadata for a currently selected session. These buttons include a first button 64 for accessing a list of musicians associated with the session, a second button 62 for accessing user-generated metadata, and a third button 66 for accessing server-generated metadata.

Clicking the first button 64 causes display of a window that shows musicians associated with the session and invites the user 32 to modify the information. Information concerning musicians can be tied to an account associated with the musician. However, this need not be the case.

Clicking the second button 62 causes display of a window that shows tags associated with the selected session and invites the user 32 to edit or add searchable information about the session. For example, the user 32 may enter information identifying the genre, or the key, or the names and/or composers of songs rehearsed during the session.

Clicking the third button 66 causes display of a window that shows date and time stamps, file size, and similar server-generated data that is also user searchable.

The annotation view 44, shown in FIG. 4, provides features to facilitate collaboration with other users. In the annotation view 44, a portion of the window shows session tracks 14, or combinations thereof, in graphical form. The user 32 can introduce marker points 68 to mark selected points in one or more session tracks 14. In the illustrated interface, these marker points 68 are triangles having a vertex resting on the graphical representation of the session track 14. The location of the marker point 68 indicates the time relative to some fixed point in the session track 14, which is usually the beginning of the session track 14.

Associated with each marker point 68 is an annotation window 70 in which the user 32 can enter his observations about the session track 14, both for himself and to share with other users. Upon clicking on a marker point 68, the annotation window 70 opens and reveals any comments either by the user or by his collaborators. In some embodiments, the annotation window 70 has different colors corresponding to different collaborating users.

A useful feature in certain embodiments is a play-loop that enables a relevant portion of the session track 14 to be played so that a comment concerning that portion can be readily understood in its musical context.

The mixing view 46, shown in FIG. 5, provides a way to see, for each of several sessions 72A-72E the various session transforms 74A-74C that have been saved by the user 32 or by his collaborators. In the particular example shown, three session transforms 74A-74C have been saved for the first session 72A. When the user 32 selects a session transform 74A, the server 20 passes the session tracks 14 and the selected session transform 74A to the filtering streamer 40 to be streamed to the user 32.

The editing view 48, shown in FIG. 6, provides an interface to enable users to cut, copy, and paste selections 76 within and between session tracks 14, play, pause, fast forward, rewind, or otherwise position a play head 78, and change levels within a specified interval 80, either overall or for selected frequencies.

The music view 50, shown in FIG. 7, includes a scrollable-time-line 82 similar to that shown in the time-line view 42 in which each node 84 corresponds to a session track 14. In this view, clicking on a node 84 causes display of a window 86 showing a title, lyrics, notes, or chords associated with the session track 14.

The principles described herein, and the advantages thereof, are also applicable to the case in which no network is contemplated. For example, when implemented on a stand-alone system, such as a personal computer, a user can experiment with different mixes on the fly in the same manner described above by applying user-generated metadata to existing session data. 

Having described the invention and a preferred embodiment thereof, what I claim as new and secured by Letters Patent is:
 1. A system for enabling collaboration between musicians, said system comprising a server configured to be connected to remote clients via a wide area network, said server being configured to receive session tracks associated with a session, each of said session tracks containing data representative of music created by a music source during said session, to store said session tracks in a session database, said session database including a plurality of session data units, each of said session data units including session tracks for a session and session metadata associated with said session tracks, wherein said server is further configured to receive instructions from a user to modify said session metadata, and wherein said server is configured to provide data representative of said session tracks as modified by said session metadata.
 2. The system of claim 1, wherein said session metadata comprises a session transform.
 3. The system of claim 1, wherein said session metadata comprises annotation data.
 4. The system of claim 1, wherein said server is further configured to enable a first user to provide access to selected session tracks and said session metadata to a second user.
 5. The system of claim 1, wherein said server is further configured to enable a first user to permit a second user to annotate session tracks.
 6. The system of claim 1, wherein said server is further configured to enable a first user to permit a second user to listen to selected session tracks as modified by a selected session transform.
 7. The system of claim 1, wherein said server is outside United States territory and is controlled by a user within United States territory for the benefit of said user.
 8. An apparatus for enabling a user to mix tracks representative of music, said apparatus comprising a data processing system configured to receive session tracks associated with a session, each of said session tracks containing data representative of music created by a music source during said session, to store said session tracks in a session database, said session database including a plurality of session data units, each of said session data units including session tracks for a session and session metadata associated with said session tracks, wherein said server is further configured to receive instructions from a user to modify said session metadata, and wherein said server is configured to provide data representative of said session tracks as modified by said session metadata.
 9. The apparatus of claim 8, wherein said session metadata comprises a session transform.
 10. The apparatus of claim 8, wherein said session metadata comprises annotation data.
 11. The apparatus of claim 8, wherein said data processing system comprises a personal computer. 